package com.punai.customer.domain;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.punai.common.annotation.Excel;
import com.punai.common.core.domain.BaseEntity;
import com.punai.customer.domain.bo.CusFbCategoryBo;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.List;

/**
 * 工序分包费用项对象 dmc_gx_fee
 *
 * @author zxw
 * @date 2022-12-09
 */
public class CusGxFee extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private String id;

    /**
     * 公司id
     */
    private Long companyId;
    /**
     * 专业id
     */
    private String specId;
    /**
     * 编码
     */
    @Excel(name = "编码")
    private String code;

    /**
     * 章节名称
     */
    @Excel(name = "章节名称")
    private String name;

    /**
     * 章节id
     */
    @Excel(name = "章节id")
    private String chapterId;

    /**
     * 单位
     */
    @Excel(name = "单位")
    private String unit;

    /**
     * 工作内容
     */
    @Excel(name = "工作内容")
    private String content;

    /**
     * 计算规则
     */
    @Excel(name = "计算规则")
    private String calcRule;

    private Integer priority;

    /**
     * 工作范围
     */
    @Excel(name = "工作范围")
    private String suitableRange;


    private String featureConsumeState;

    /**
     * 序号
     */
    @Excel(name = "序号")
    private Integer orderNum;

    /**
     * 部门id
     */
    @Excel(name = "部门id")
    @TableField(fill = FieldFill.INSERT)
    private Long deptId;

    /**
     * 用户id
     */
    @Excel(name = "用户id")
    @TableField(fill = FieldFill.INSERT)
    private Long userId;

    @TableField(exist = false)
    private String featureValues;

    @TableField(exist = false)
    private String address;

    @TableField(exist = false)
    private boolean beReady;

    @TableField(exist = false)
    private List<CusFbCategoryBo> categoryBos;

    public boolean isBeReady() {
        return beReady;
    }

    public void setBeReady(boolean beReady) {
        this.beReady = beReady;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    public void setCompanyId(Long companyId) {
        this.companyId = companyId;
    }

    public Long getCompanyId() {
        return companyId;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getCode() {
        return code;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setChapterId(String chapterId) {
        this.chapterId = chapterId;
    }

    public String getChapterId() {
        return chapterId;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public String getUnit() {
        return unit;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getContent() {
        return content;
    }

    public void setCalcRule(String calcRule) {
        this.calcRule = calcRule;
    }

    public String getCalcRule() {
        return calcRule;
    }

    public Integer getPriority() {
        return priority;
    }

    public void setPriority(Integer priority) {
        this.priority = priority;
    }

    public void setOrderNum(Integer orderNum) {
        this.orderNum = orderNum;
    }

    public Integer getOrderNum() {
        return orderNum;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getUserId() {
        return userId;
    }

    public String getSuitableRange() {
        return suitableRange;
    }

    public void setSuitableRange(String suitableRange) {
        this.suitableRange = suitableRange;
    }

    public String getFeatureConsumeState() {
        return featureConsumeState;
    }

    public void setFeatureConsumeState(String featureConsumeState) {
        this.featureConsumeState = featureConsumeState;
    }

    public String getFeatureValues() {
        return featureValues;
    }

    public void setFeatureValues(String featureValues) {
        this.featureValues = featureValues;
    }

    public String getSpecId() {
        return specId;
    }

    public void setSpecId(String specId) {
        this.specId = specId;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public List<CusFbCategoryBo> getCategoryBos() {
        return categoryBos;
    }

    public void setCategoryBos(List<CusFbCategoryBo> categoryBos) {
        this.categoryBos = categoryBos;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("companyId", getCompanyId())
                .append("code", getCode())
                .append("name", getName())
                .append("chapterId", getChapterId())
                .append("unit", getUnit())
                .append("content", getContent())
                .append("calcRule", getCalcRule())
                .append("priority", getPriority())
                .append("orderNum", getOrderNum())
                .append("deptId", getDeptId())
                .append("userId", getUserId())
                .append("createTime", getCreateTime())
                .append("createBy", getCreateBy())
                .append("updateTime", getUpdateTime())
                .append("updateBy", getUpdateBy())
                .toString();
    }

}
